﻿using Micro.Modules.Abstractions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Micro.Modules
{
    public class ModuleInfo: BaseModule, IModule
    {

        public virtual string PluginId { get; }

        public virtual string Code { get; set; }
        public virtual string Name { get; set; }
        public virtual string Version { get; set; }
        public virtual string Description { get; set; }
        public virtual string Author { get; set; }
        public virtual string ModulePath { get; set; }

        /// <summary>
        /// swagger当位于代理后时，通过配置此参数可以指定代理请求前缀。
        /// </summary>
        public string SwaggerPathBase { get; set; }

        /// <summary>
        /// 初始化
        /// </summary>
        public BaseModule Initializer { get; set; }
        public IModuleAssemblyLoadContext Context { get; set; }
        public IModuleRuntime ModuleRuntime { get; set; }
    }
}
